Evolving feature model configurations in software product lines
نویسندگان
چکیده
The increasing complexity and cost of software-intensive systems has led developers to seek ways of reusing software components across development projects. One approach to increasing software reusability is to develop a Software Product-line (SPL), which is a software architecture that can be reconfigured and reused across projects. Rather than developing software from scratch for a new project, a new configuration of the SPL is produced. It is hard, however, to find a configuration of an SPL that meets an arbitrary requirement set and does not violate any configuration constraints in the SPL. Existing research has focused on techniques that produce a configuration of an SPL in a single step. Budgetary constraints or other restrictions, however, may require multi-step configuration processes. For example, an aircraft manufacturer may want to produce a series of configurations of a plane over a span of years without exceeding a yearly budget to add features. This paper provides three contributions to the study of multi-step configuration for SPLs. First, we present a formal model of multi-step SPL configuration and map this model to constraint satisfaction problems (CSPs). Second, we show how solutions to these SPL configuration problems can be automatically derived with a constraint solver by mapping them to CSPs. Moreover, we show how feature model changes can be mapped to our approach in a multi-step scenario by using feature model drift. Third, we present empirical results demonstrating that our CSP-based reasoning technique can scale to SPL models with hundreds of features and multiple configuration steps. ∗Corresponding author Email addresses: [email protected] (J. White), [email protected] (José A. Galindo), [email protected] (T. Saxena), [email protected] (B. Dougherty), [email protected] (D. Benavides), [email protected] (D.C. Schmidt) Preprint submitted to Journal of Systems and Software September 16, 2013 Evolving Feature Model Configurations in Software Product Lines J. Whited,∗, José A. Galindoe, T. Saxenaf, B. Doughertyd, D. Benavidese, D.C. Schmidtf dVanderbilt University, Nashville, Tenessee, USA eUniversity of Seville, Seville, Spain fVanderbilt University, Nashville, Tenessee, USA
منابع مشابه
Evaluating Feature Change Impact on Multi-product Line Configurations Using Partial Information
Evolving large-scale, complex and highly variable systems is known to be a difficult task, where a single change can ripple through various parts of the system with potentially undesirable effects. In the case of product lines, and moreover multi-product lines, a change may affect only certain variants or certain combinations of features, making the evaluation of change effects more difficult. ...
متن کاملAutomated diagnosis of feature model configurations
Software product-lines (SPLs) are software platforms that can be readily reconfigured for different project requirements. A key part of an SPL is a model that captures the rules for reconfiguring the software. SPLs commonly use feature models to capture SPL configuration rules. Each SPL configuration is represented as a selection of features from the feature model. Invalid SPL configurations ca...
متن کاملA Toolset for Checking SPL Refinements
Developers evolve software product lines (SPLs) manually or using typical program refactoring tools. However, when evolving an SPL to introduce new features or to improve its design, it is important to make sure that the behavior of existing products is not affected. Typical program refactorings cannot guarantee that because the SPL context goes beyond code and other kinds of core assets, and i...
متن کاملFAMILE: Tool support for evolving model-driven product lines
Model-driven development is a well-known practice in modern software engineering. Many tools exist which allow developers to build software in a model-driven way. Unfortunately, these tools do not provide dedicated support for the specific needs in software product line processes. Only recently some approaches tried to combine feature modeling and model-driven development. In this paper we pres...
متن کاملModeling Dependent Software Product Lines
Techniques to model software product lines (SPLs), using feature models, usually focus on a single SPL. Larger SPLs can also be built from smaller SPLs which results in a dependency between the involved SPLs, i.e., one SPL uses functionality provided by another SPL. Currently, this can be described using constraints between the involved feature models. However, if multiple differently configure...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Systems and Software
دوره 87 شماره
صفحات -
تاریخ انتشار 2014